package com.sea.contrato.service;
import com.sea.model.Cliente;
import com.sea.model.Contrato;
import com.sea.model.Artefacto;
import javax.persistence.EntityManager;
import com.sea.model.repository.ClienteRepository;
import com.sea.model.repository.ContratoRepository;
import com.sea.model.repository.ArtefactosRepository;
import com.sea.model.RegistrarIncidencia;
import com.sea.util.*;

public class ContratoService {
	private EntityManager em;
	private ContratoRepository contrato;
	private ArtefactosRepository artefacto;
	private ClienteRepository cliente;
	
	
	public ContratoService() throws RuntimeException{
		System.out.println("contratoservice");
		em= Utilitario.getInstance().getEntityManager();
		contrato = new ContratoRepository(em);
		cliente = new ClienteRepository(em);
		artefacto = new ArtefactosRepository(em);
		
	}
	
	public Contrato obtenerContrato(int idcontrato){		
		return contrato.findById(idcontrato);		
	}

	public Cliente obtenerCliente(int idcliente){
		return cliente.findById(idcliente);
	}
	
	public Artefacto obtenerArtefacto(int idarte){
		System.out.println("artefacto");
		return artefacto.findById(idarte);
	}
		
	public RegistrarIncidencia obtenerRegistro(int idcontrato){
		
		System.out.println("principal" +idcontrato);
		Contrato contra = new Contrato();
		Cliente persona =new Cliente();
		Artefacto arte = new Artefacto();
		RegistrarIncidencia regincidencia = new RegistrarIncidencia();
		contra=obtenerContrato(idcontrato);
		System.out.println("principal" +contra.getIdcli());		
		persona=obtenerCliente(contra.getIdcli());
		arte=obtenerArtefacto(contra.getIdart());		
		regincidencia.setIdcliente(contra.getIdcli());
		regincidencia.setDni(persona.getDni());
		regincidencia.setApepat(persona.getApepat());
		regincidencia.setApemat(persona.getApemat());
		regincidencia.setNom(persona.getNom());
		regincidencia.setDireccion(persona.getDireccion());		
		regincidencia.setTelefono(persona.getTelefono());
		regincidencia.setIdart(arte.getIdalmacen());
		regincidencia.setNombreart(arte.getNombre());
		regincidencia.setNroserie(arte.getNroserie());
		regincidencia.setMarca(arte.getMarca());
		regincidencia.setModelo(arte.getModelo());
		regincidencia.setObservacion(arte.getObservacion())	;	
		regincidencia.setNrocontrato(contra.getNrocontrato());
		regincidencia.setIncidenciaObservacion("");
		
		return regincidencia;
	}
	
}